package com.zzyl.framework.ai;

import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.chat.ChatResponse;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * 百度千帆大模型接口调用
 *
 * @Author mr.lcc
 * @Data 2025/5/20 14:57
 */
@Component
public class AiInvoke {

    @Value("${qianfan.model}")
    private String model;

    @Value("${qianfan.temperature}")
    private String temperature;

    /**
     * 调用千帆大模型接口
     *
     * @param prompt
     * @return
     */
    public String invokeQianFanChat(String prompt) {
        // 指定模型
        ChatResponse response = new Qianfan().chatCompletion()
                // 使用model指定预置模型
                .model(model)
                // 添加用户消息 (此方法可以调用多次，以实现多轮对话的消息传递)
                .addMessage("user", prompt)
                // 自定义超参数
                .temperature(Double.valueOf(temperature))
                .responseFormat("json_object")
                .execute(); // 发起请求
        return response.getResult();
    }
}
